5c6e1cbca8e23a96db60bf1331460c181d7a0369,src/main/java/com/acciente/oacc/DomainCreatePermissions.java,DomainCreatePermissions,getInstance,#DomainCreatePermission#,93

Before Change


         }
      }
      else {
         if (domainCreatePermission.isWithGrantOption()) {
            return getInstanceWithGrantOption(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
         }
         else {
            return getInstance(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
         }
      }
   }

After Change


      return new DomainCreatePermissionImpl(domainPostCreatePermission, withGrant);
   }

   public static DomainCreatePermission getInstance(DomainCreatePermission domainCreatePermission) {
      if (domainCreatePermission instanceof DomainCreatePermissions.DomainCreatePermissionImpl) {
         return domainCreatePermission;
      }

      final DomainCreatePermission verifiedPermission;

      if (domainCreatePermission.isSystemPermission()) {
         if (domainCreatePermission.isWithGrantOption()) {
            verifiedPermission = getInstanceWithGrantOption(domainCreatePermission.getPermissionName());
         }
         else {
            verifiedPermission = getInstance(domainCreatePermission.getPermissionName());
         }

         // validate system permission name and id matched
         if (verifiedPermission.getSystemPermissionId() != domainCreatePermission.getSystemPermissionId()){
            throw new IllegalArgumentException("Invalid system permission id for domain create permission: "
                                                     + domainCreatePermission);
         }
      }
      else {
         if (domainCreatePermission.isWithGrantOption()) {
            verifiedPermission = getInstanceWithGrantOption(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
         }
         else {
            verifiedPermission = getInstance(DomainPermissions.getInstance(domainCreatePermission.getPostCreateDomainPermission()));
         }
      }